#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>

int gval = 100;

int main()
{
	printf("父进程开始运行。我的pid：%d\n", getpid());
	pid_t id = fork();
	if (id < 0)
	{
		printf("创建进程失败\n");
		return 1;
	}
	else if (id == 0)
	{
		//子进程                                                                   
		printf("我是子进程。我的pid：%d, 我的ppid：%d，gval：%d\n", getpid(), getppid(), gval);
		sleep(2);

		while (1)
		{
			sleep(1);
			printf("子进程修改变量：%d->%d。", gval, gval + 10);
			gval += 10;
            printf("我是子进程。我的pid：%d, 我的ppid：%d\n", getpid(), getppid());
		}
	}
	else
	{
		//父进程
		while (1)
		{
			sleep(1);
			printf("我是父进程。我的pid：%d, 我的ppid：%d，gval：%d\n", getpid(), getppid(), gval);
		}
	}

	return 0;
}
